package ch19 {
	import flash.display.Sprite;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import utils.Ball;

	/**
	 * 基于计时器的动画
	   理论上讲，计时器可以让我们控制动画的速度——这是对于帧的不精确性的一个重大改进。我之所以说“理论上讲”，是因为这里有些事情需要弄清楚。
	   首先，实际上计时器要依赖于帧频。另一个原因是计时器的事件函数中的代码会增加整个计时器间隔。
	 * @author jianping.shenjp
	 */

	public class Timer2 extends Sprite {
		private var timer:Timer;
		private var ball:Ball;

		public function Timer2(){
			init();
		}

		private function init():void {
			stage.frameRate = 1;
            trace("stage.frameRate:",stage.frameRate);
			ball = new Ball();
			ball.y = stage.stageHeight / 2;
			ball.vx = 5;
			addChild(ball);
			timer = new Timer(20);
			timer.addEventListener(TimerEvent.TIMER, onTimer);
			timer.start();
		}
        private var _time:uint = 0;
		private function onTimer(event:TimerEvent):void {
            trace("onTimer",_time++);
			ball.x += ball.vx;
            event.updateAfterEvent();
		}
	}

}